<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>克隆</title>
</head>
<body>
    <script>
        let obj = {
            name:"张飞",
            age:20,
            addr:["红瓦寺","新华公园"],
            intro(){
                console.log("hello");
            }
        }

        // let newObj = obj;
        // newObj.age = 30;
        // console.log(newObj,obj);
        // 浅克隆：只克隆一层的数据，多层对象只拷贝地址
        // let newObj = {...obj};
        // for(let k in obj){
        //     newObj[k] = obj[k];
        //     // console.log(k,obj[k]);
        // }
        // 深克隆：每一层的对象都会拷贝
        let newObj = JSON.parse(JSON.stringify(obj));
        newObj.addr.push("一环路");
        console.log(newObj == obj,newObj,obj);

        // 作业：
        // 1.复习对象原型图
        // 2.js创建对象的方式有几种，分别是什么？
        // 3.通过new产生对象后，内部的原理是什么？
    </script>
</body>
</html>